Telegram Group & Telegram Channel
Сергей на связи!
На новой работе увидел интересный приём, которым архитекторы кошмарят разработчиков. Спешу поделится.

Значит, у архитектора есть 2 большие задачи.

Задача раз: выработать нефункциональные требования, а потом на их основе нарисовать архитектуру. Задача сложная, но с ней более-менее большинство справляется.
Задача два: проследить, чтобы команда соблюдала заложенные в архитектуру принципы. С этим справляются уже не все, зачастую фантазии хватает только разносить всех на code review. Если у архитектора команда на 5-7 разработчиков, то так прожить ещё можно. А если у вас целый департамент на 50-70 программистов — ну такое.

Конечно, нужно автоматизировать битьё разработчиков по рукам. Например, автоматически проверять % покрытия тестами, или code style. Как правило, они интегрируются в систему сборки и запускаются автоматически, заваливая билд, если какая-то договорённость не соблюдена.

Но если репозиториев уже под сотню, и они плодятся каждый день? Тогда следить за соблюдением договорённостей помогает вот это:
— везде интегрирован jacoco, который проверяет покрытие тестами хотя бы 80%
— во всех репозиториях используется один code style
— все зависимости тянутся только из внутреннего репозитория

Делюсь подсмотренным приёмом: использовать стандартизированный gradle. Как правило, любая сборка состоит из интегрированных плагинов, конфигурация которых вручную копируется из одного проекта в другой. Но можно сделать собственный gradle wrapper со всеми установленными и настроенными плагинами.

Как работает
Архитектор один раз создёет репозиторий, который будет билдить gradle wrapper. Он публикуется в артифактори и становится доступен для скачивания как обычный пакет.

Далее архитектор создает обычный файл build.gradle, добавляет зависимости по вкусу, типа спринга или junit, и настраивает плагины, к примеру, jacoco. Зовётся это init scripts. Архитектор публикует грейдл, рассылает всем разработчикам ссылку на него и идёт спокойно пить пиво. Теперь разработчики при создании проекта указывают, что wrapper надо скачивать не с gradle.org, а из вашего репозитория.

gradle-wrapper.properties
distributionUrl=https://artifactory.your.org/repository/gradle-8.5.zip


Профит! Теперь в проект интегрировано всё минимально необходимое.

Фича зовётся gradle init scripts

Минусы
Если вдруг политики поменялись, скажем, мы резко захотели добавить какой-нибудь security плагин, то пока проекты не обновят версию грейдла, никакого чуда не произойдёт.



tg-me.com/stringconcat/268
Create:
Last Update:

Сергей на связи!
На новой работе увидел интересный приём, которым архитекторы кошмарят разработчиков. Спешу поделится.

Значит, у архитектора есть 2 большие задачи.

Задача раз: выработать нефункциональные требования, а потом на их основе нарисовать архитектуру. Задача сложная, но с ней более-менее большинство справляется.
Задача два: проследить, чтобы команда соблюдала заложенные в архитектуру принципы. С этим справляются уже не все, зачастую фантазии хватает только разносить всех на code review. Если у архитектора команда на 5-7 разработчиков, то так прожить ещё можно. А если у вас целый департамент на 50-70 программистов — ну такое.

Конечно, нужно автоматизировать битьё разработчиков по рукам. Например, автоматически проверять % покрытия тестами, или code style. Как правило, они интегрируются в систему сборки и запускаются автоматически, заваливая билд, если какая-то договорённость не соблюдена.

Но если репозиториев уже под сотню, и они плодятся каждый день? Тогда следить за соблюдением договорённостей помогает вот это:
— везде интегрирован jacoco, который проверяет покрытие тестами хотя бы 80%
— во всех репозиториях используется один code style
— все зависимости тянутся только из внутреннего репозитория

Делюсь подсмотренным приёмом: использовать стандартизированный gradle. Как правило, любая сборка состоит из интегрированных плагинов, конфигурация которых вручную копируется из одного проекта в другой. Но можно сделать собственный gradle wrapper со всеми установленными и настроенными плагинами.

Как работает
Архитектор один раз создёет репозиторий, который будет билдить gradle wrapper. Он публикуется в артифактори и становится доступен для скачивания как обычный пакет.

Далее архитектор создает обычный файл build.gradle, добавляет зависимости по вкусу, типа спринга или junit, и настраивает плагины, к примеру, jacoco. Зовётся это init scripts. Архитектор публикует грейдл, рассылает всем разработчикам ссылку на него и идёт спокойно пить пиво. Теперь разработчики при создании проекта указывают, что wrapper надо скачивать не с gradle.org, а из вашего репозитория.

gradle-wrapper.properties
distributionUrl=https://artifactory.your.org/repository/gradle-8.5.zip


Профит! Теперь в проект интегрировано всё минимально необходимое.

Фича зовётся gradle init scripts

Минусы
Если вдруг политики поменялись, скажем, мы резко захотели добавить какой-нибудь security плагин, то пока проекты не обновят версию грейдла, никакого чуда не произойдёт.

BY StringConcat - разработка без боли и сожалений


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/stringconcat/268

View MORE
Open in Telegram


StringConcat разработка без боли и сожалений Telegram | DID YOU KNOW?

Date: |

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

The lead from Wall Street offers little clarity as the major averages opened lower on Friday and then bounced back and forth across the unchanged line, finally finishing mixed and little changed.The Dow added 33.18 points or 0.10 percent to finish at 34,798.00, while the NASDAQ eased 4.54 points or 0.03 percent to close at 15,047.70 and the S&P 500 rose 6.50 points or 0.15 percent to end at 4,455.48. For the week, the Dow rose 0.6 percent, the NASDAQ added 0.1 percent and the S&P gained 0.5 percent.The lackluster performance on Wall Street came on uncertainty about the outlook for the markets following recent volatility.

StringConcat разработка без боли и сожалений from ua


Telegram StringConcat - разработка без боли и сожалений
FROM USA